#include <bits/stdc++.h>
using namespace std;

int n,m;
char g[105][105];
bool v[105][105];
int qx[10005],qy[10005];
int dx[]= {-1,1,0,0},dy[]= {0,0,-1,1};

bool bfs() {
	int h=0,t=0;
	qx[t]=0;
	qy[t++]=0;
	v[0][0]=1;

	while(h<t) {
		int x=qx[h],y=qy[h++];
		if(x==n-1&&y==m-1) return 1;

		for(int i=0; i<4; i++) {
			int nx=x+dx[i],ny=y+dy[i];
			if(nx>=0&&nx<n&&ny>=0&&ny<m&&g[nx][ny]=='.'&&!v[nx][ny]) {
				qx[t]=nx;
				qy[t++]=ny;
				v[nx][ny]=1;
			}
		}
	}
	return false;
}

int main() {
	cin>>n>>m;
	for(int i=0; i<n; i++) cin>>g[i];

	if(bfs()) {
		cout<<"Yes";
	} else {
		cout<<"No";
	}

	return 0;
}

